using ODT.Common.Core;
using ODT.Common.ExtensionMethods;
using ODT.Common.WPF.Core;
using ODT.Intellisense.Core;
//using ODT.Intellisense.Models;
//using ODT.Intellisense.ViewModels;

namespace ODT.Intellisense
{
	internal sealed class IntellisenseFactory : IIntellisenseFactory
	{
		private readonly IDatabaseService databaseService;

		private readonly IInputProcessingService inputProcessingService;

		private readonly IIntellisenseDatabaseService intellisenseDatabaseService;

		private readonly IWordProcessingService wordProcessingService;

		public IntellisenseFactory(IDatabaseService databaseService, IInputProcessingService inputProcessingService, IIntellisenseDatabaseService intellisenseDatabaseService, IWordProcessingService wordProcessingService)
		{
			this.databaseService = databaseService;
			this.inputProcessingService = inputProcessingService;
			this.intellisenseDatabaseService = intellisenseDatabaseService;
			this.wordProcessingService = wordProcessingService;
		}

		//public IntellisenseViewModel CreateIntellisenseViewModel(IDeviceConnectionController deviceConnectionController)
		//{
		//	deviceConnectionController.ThrowArgumentNullException("deviceConnectionController");
		//	IntellisenseProcessor intellisenseProcessor = new IntellisenseProcessor(databaseService, deviceConnectionController, inputProcessingService, intellisenseDatabaseService, wordProcessingService);
		//	RememberingInputModel inputModel = new RememberingInputModel();
		//	return new IntellisenseViewModel(inputProcessingService, intellisenseProcessor, inputModel);
		//}
	}
}
